#pragma once
#include <string>

#define EXP_API __declspec(dllexport)

namespace mztool {
    // 字符串处理
    class EXP_API String {
        public:
            String() {}

            ~String() {}

            String(std::wstring str);

            String(std::string str);

            String(int integer);

            std::wstring Append(std::wstring str);

            std::wstring Append(std::string str);

            int Length();

            bool Equals(String str);

            std::string ToString();

            std::wstring ToWString();

            static std::string WString2String(const std::wstring &ws);

            static std::wstring String2WString(const std::string &s);

            bool operator<(const String &ths) const
            {
                return m_data < ths.m_data;
            }

        private:
            std::wstring m_data = L"";

    };
}